/*
 * @Author: liu wang wang
 * @Date: 2021-02-25 16:34:52
 * @LastEditTime: 2021-03-04 16:36:16
 * @LastEditors: liu wang wang
 * @Description: 
 * @FilePath: \offer\src\q9.ts
 */

/**
 * 以下函数的执行结果
 */
// 1, 7, 8, 6, 2, 4, 5, 3, 9, 11, 12, 10
// console.log(1);
// setTimeout(() => {
//   console.log(2);
//   process.nextTick(() => {
//     console.log(3);
//   });
//   new Promise<void>((resolve) => {
//     console.log(4);
//     resolve();
//   }).then(() => {
//     console.log(5);
//   });
// });
// new Promise<void>((resolve) => {
//   console.log(7);
//   resolve();
// }).then(() => {
//   console.log(8);
// });
// process.nextTick(() => {
//   console.log(6);
// });
// setTimeout(() => {
//   console.log(9);
//   process.nextTick(() => {
//     console.log(10);
//   });
//   new Promise<void>((resolve) => {
//     console.log(11);
//     resolve();
//   }).then(() => {
//     console.log(12);
//   });
// });


function side(arr:Array<number>) {
  arr[0] = arr[2];
}
function a(a:number, b:number, c:number) {
  'use strict'
  c = 10;
  side(Array.from(arguments));
  return a + b + c;
}
console.log(a(1, 1, 1));